5
תגובות
שליפת נתונים
פתח
soogo
,
יש לי מחלקה לניהול תפריט ומחלקה לניהול משתמשים
והשאלה היא מה עדיף מתודה ששולפת נתונים מהמסד בכל אחד מהם או מחלקה אחרת שמזינים לה את שם הטבלה והיא שולפת נתונים
או
והשאלה היא מה עדיף מתודה ששולפת נתונים מהמסד בכל אחד מהם או מחלקה אחרת שמזינים לה את שם הטבלה והיא שולפת נתונים
class Menu
{
public function Select()
{
Query;
return array;
}
}
{
public function Select()
{
Query;
return array;
}
}
class User
{
public function Select()
{
Query;
return array;
}
}
{
public function Select()
{
Query;
return array;
}
}
או
class DB
{
public function Select($Table)
{
Query;
return array;
}
}
{
public function Select($Table)
{
Query;
return array;
}
}
5 תשובות
אין כאן עדיפות,הדעות הן די חלוקות ועניין של עדיפות אישית. מה שבטוח זה אם אתה משתמש באפשרות א' ממש לא יוצרים מתודה לכל מודל אלה יוצרים מחלקת אב ואז ביורשים מייחסים את הטבלה שממנה שולפים.
משהו בסגנון הזה -
class Model{
protected $table;
public function Select($columns = '*'){
//some query builder goes here using $columns and $table
}
}
class Menu extends Model{
protected $table = 'Menu_Table';
}
(new Menu)->Select();
protected $table;
public function Select($columns = '*'){
//some query builder goes here using $columns and $table
}
}
class Menu extends Model{
protected $table = 'Menu_Table';
}
(new Menu)->Select();
אז מה שאתה אומר שאפשרות א'
זה ליצור מחלקת DB עם כל מיני שאילתות אפשריות ובמחלקה של התפריט/משתמשים להשתמש במחלקת DB
שזה בדיוק כמו אפשרות ב'